Qt QProgressDialog进度条对话框设置隐藏取消按钮和禁用右上角“X”关闭按钮、“?”帮助按钮

您所在的位置:网站首页 qt 右上角关闭 Qt QProgressDialog进度条对话框设置隐藏取消按钮和禁用右上角“X”关闭按钮、“?”帮助按钮

Qt QProgressDialog进度条对话框设置隐藏取消按钮和禁用右上角“X”关闭按钮、“?”帮助按钮

2024-01-16 03:48| 来源: 网络整理| 查看: 265

QT中的进度条对话框,默认设置状态下的QProgressDialog:

1 QProgressDialog oQProgressDialog; 2 oQProgressDialog.setWindowModality(Qt::ApplicationModal);//对本程序模态 3 oQProgressDialog.setWindowTitle(QString::fromLocal8Bit("请等待...")); 4 oQProgressDialog.setLabelText(QString::fromLocal8Bit("正在执行...")); 5 oQProgressDialog.setRange(0, 5); 6 oQProgressDialog.setValue(0); 7 oQProgressDialog.show();

在右上角是有一个 “ ? ” 帮助按钮和 “ X ” 关闭按钮,右下方则是一个 “ Cancel ” 按钮。如果需要禁用或者取消这三个按钮,则需要多加两句代码:

1 //去除对话框内的Cancel按钮 2 oQProgressDialog.setCancelButtonText(nullptr); 3 4 //禁用右上角所有按钮,但最小化按钮可用 5 oQProgressDialog.setWindowFlags(Qt::CustomizeWindowHint | Qt::WindowMinimizeButtonHint);

这样既不能点击右上角的“X”关闭,也不能点击“Cancel”按钮取消,使用者啥都不能做,只能乖乖等待完成,从而省去做取消相关的逻辑,和避免误操作。

其实对话框内的 “ Cancel ” 按钮还有其他方法禁用或者隐藏:

1 //方法2:创建一个取消按钮,覆盖默认的“Cancel”按钮,然后隐藏按钮 2 QPushButton okButton(QString::fromLocal8Bit("取消"));//创建一个“取消”按钮 3 okButton.hide();//隐藏此按钮 4 okButton.setEnabled(false);//禁用此按钮 5 oQProgressDialog.setCancelButton(&okButton);//替换进度条对话框内默认的“Cancel”按钮 6 7 8 //方法3:整个进度条对话框禁用 9 oQProgressDialog.setEnabled(false);

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3